package Pacote2;

import grails.test.*
import les.*

class OficiosTests extends functionaltestplugin.FunctionalTestCase {
	
	void test_criacao_de_oficio_com_todas_informacoes_obrigatorias() {
		get ("/usuario/login")
		
		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/oficio/create")
		
		form() {
			empresa = "Casa do Sert�o"
			pedido = "20 bolos"
			enderecoEmpresa = "Rua dos bolos"
			click "create"
		}
				
		assertContentContains "Oficio"
		assertContentContains "Oficio criado(a) com sucesso"
	}
	
	
	void test_fluxo_alternativo_de_criacao_sem_uma_das_infos_obrigatorias(){
		get ("/usuario/login")
		
		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/oficio/create")
		
		form() {
			empresa = "Casa do Sert�o"
			enderecoEmpresa = "Rua dos bolos"
			click "create"
		}
		
		assertContentContains "O campo pedido n&atilde;o pode ficar em branco";
	}
	
	void test_cricao_com_sucesso_visualizar_oficio_gerado(){
		get ("/usuario/login")
		
		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/oficio/create")
		
		redirectEnabled = false
		
		form() {
			empresa = "Casa do Sert�o"
			pedido = "20 bolos"
			enderecoEmpresa = "Rua dos bolos"
			click "create"
		}
		
		assertRedirectUrlContains "/oficio/show"
		followRedirect()
		redirectEnabled = true
		
		form(){
			click "_action_gerarOficio"
		}
		
		assertContentContains "20 bolos"
		assertContentContains "Rua dos bolos"
	}
	
	
	
}